<?

/*! Usuario do sistema
/*!
    Esta classe representa um sala no sistema.
*/
class Sala
{
    //! Consulta todos os salas cadastrados
    /*!
        Pega todos os salas cadastrados no banco.
        \return Lista de objetos
    */
    function consultarTodos()
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);

        $resultado = $con->query("Select * from Sala");

        while ($linha = $resultado->fetchRow(DB_FETCHMODE_OBJECT)) {
            array_push($registros, $linha);
        }
        return $registros;
    }

    //! Consulta com base em criterios
    /*!
        Efetua uma consulta por salas com base em alguns critérios.
        \param $nome Nome do sala
        \return Lista de objetos
    */
    function consultar($nome)
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);
        $sql = "";

 
        if ($nome != "")
            $sql .= " dsc_sala like '%" . $nome . "%' and";

        if ($sql != "")
            $sql = substr(" where " . $sql, 0, -3);

        $sql = "select * from Sala" . $sql;

        $resultado = $con->query($sql);

        while ($linha = $resultado->fetchRow(DB_FETCHMODE_OBJECT)) {
            array_push($registros, $linha);
        }
        return $registros;
    }

    //! Consulta uma sala especifica
    /*!
        Pega do banco a sala com o codigo dado.
        \param $cod_sala Código Identificador da sala
        \return Lista de objetos
    */
    function consultarUnico($codigo)
    {
        $registros = array();
        $con = DB::connect(URL_CONEXAO);
        $sql = "select * from Sala where cod_sala = '" . $codigo . "'";

        $resultado = $con->query($sql);

        return $resultado->fetchRow(DB_FETCHMODE_OBJECT);
    }

    //! Cadastra uma nova sala
    /*!
        Cadastra uma nova sala no banco.
        \param $nome Nome do sala
        \return Boolean
    */
    function incluir($nome)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "insert into Sala (dsc_sala) " .
            " values ('" . $nome . "')";

        $flag = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

    //! Exclui um sala do banco
    /*!
        Elimina um sala do banco em definitivo
        \param $login login do sala
        \return Boolean
    */
    function excluir($codigo)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "delete from Sala where cod_sala = '" . $codigo . "'";

        $flag = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

    //! Altera um sala
    /*!
        Atualiza um sala no banco com novos valores
        \param $nome Nome do sala
        \param $cod_sala Código que identifica a sala
        \return Boolean
    */
    function alterar($nome, $codigo)
    {
        $con = DB::connect(URL_CONEXAO);
        $sql = "Update Sala set dsc_sala = '" . $nome .  "'" ;

        $sql .= " where cod_sala = '" . $codigo . "'";
        
        $resultado = $con->query($sql);

        if (DB::isError($flag)) {
            return false;
        }
        return true;
    }

}

?>
